import { ResPage, SysTemplate } from "@/api/interface/index";
import { CANROCNET } from "@/api/config/servicePort";
import http from "@/api";

/**
 * 新增模版
 *
 * @param params 模版表单
 * @returns 返回是否成功
 */
export const addTemplateApi = (params: SysTemplate.Form) => {
  return http.post<boolean>(`${CANROCNET}/api/sys-template/addition`, params);
};

/**
 * 编辑模版
 *
 * @param params 模版表单
 * @returns 返回是否成功
 */
export const editTemplateApi = (params: SysTemplate.Form) => {
  return http.post<boolean>(`${CANROCNET}/api/sys-template/edit`, params);
};

/**
 * 启用/禁用模版
 *
 * @param params 模版Id
 * @returns 返回是否成功
 */
export const switchEnableTemplateApi = (params: { id: string }) => {
  return http.post<boolean>(`${CANROCNET}/api/sys-template/enable`, params);
};

/**
 * 删除模版
 *
 * @param params 模版Id
 * @returns 返回是否成功
 */
export const deleteTemplateApi = (params: { ids: string[] }) => {
  return http.post<boolean>(`${CANROCNET}/api/sys-template/del`, params);
};

/**
 * 获取模版列表
 *
 * @param params 模版查询参数
 * @returns 返回模版列表
 */
export const getTemplatePageApi = (params: SysTemplate.PageParams) => {
  return http.get<ResPage<SysTemplate.Result>>(`${CANROCNET}/api/sys-template/page`, params);
};

/**
 * 下载模版
 *
 * @param params.code 模版编码
 * @returns 返回文件流
 */
export const downloadTemplateApi = (params: { code: string }) => {
  return http.download(`${CANROCNET}/api/sys-template/down/${params.code}`, {}, { loading: false });
};
